#ifndef SCINTILLA_VIEW_H
#define SCINTILLA_VIEW_H

#include "Window.h"

typedef int (* SCINTILLA_FUNC) (void*, int, int, int);
typedef void * SCINTILLA_PTR;

class ScintillaView :public Window
{
public:
	ScintillaView(void);
	virtual ~ScintillaView(void);

	virtual void destroy()
	{
		::DestroyWindow(_hSelf);
		_hSelf = NULL;
	}

	virtual void init(HINSTANCE hInst, HWND parent);

	LRESULT execute(UINT Msg, WPARAM wParam = 0, LPARAM lParam = 0) const;

	void setReadOnly(bool isReadOnly) const;
	void addGenericText(const TCHAR * text2Append) const;

private:
	SCINTILLA_FUNC _pScintillaFunc;
	SCINTILLA_PTR  _pScintillaPtr;
};

#endif SCINTILLA_VIEW_H
